Methods to process and forward control packets in OBS/LOBS and other burst switched networks

ABSTRACT

The invention provides a novel method to reduce the minimum offset time and pre-transmission delay for each data burst in Optical Burst Switching or Labeled Optical Burst Switching or other packet or burst switched systems. Under this method, the control packet is relayed as soon as it is determined if bandwidth for the data burst at the data burst output port(s) can be reserved successfully, greatly speeding up the setup and configuration of the Switching Element.

RELATED APPLICATIONS

[0001] This application claims priority to Provisional Patent Application, Ser. No. 60/279,315, filed Mar. 28, 2001.

FIELD OF THE INVENTION

[0002] This invention relates to the application of unique methods for processing and forwarding control packets to improve the operating performance of Optical Burst Switched, Labeled Optical Burst Switched, and other burst or packet switched networks.

BACKGROUND OF THE INVENTION

[0003] Internet network traffic exhibits large transient spikes in traffic loads independent of the number of individual data flows that have been aggregated together into a larger single flow. Such behavior is said to be “bursty” and fractal, as the pattern of demand remains self-similar at all scales of aggregation. Packet switching networks are capable of carrying bursty traffic efficiently since they can switch network bandwidth dynamically on a packet-by-packet basis, and therefore are able to provision the needed bandwidth to handle a burst of traffic, typically within a few nanoseconds or less. Circuit switched networks, on the other hand, are not bandwidth efficient in carrying bursty traffic since they can only make relatively long lived (typically on the scale of a millisecond or longer) bandwidth allocations and so cannot switch bandwidth quickly in response to a traffic burst. Burst switched networks (wherein a burst is the concatenation of one or more packets of variable length), like packet switched networks, can be bandwidth efficient in carrying bursty traffic as they too are capable of switching bandwidth within a small timescale. In order to realize this bandwidth efficiency for bursty traffic, conventional packet switching and burst switching networks require fast processing and forwarding of control information, and fast switches to switch traffic at network nodes.

[0004] More specifically, in a burst (or variable-length packet) switched network, an incident control packet (or packet header) needs to be processed in order to: determine the output port (or ports in the case of multi-casting) for said control packet; determine the input port and channel within said input port for the data burst corresponding to said control packet; determine the output port(s) and channel(s) within said output port(s) for said corresponding data burst; determine the availability of bandwidth on said data burst output port(s) on said channel(s); if said bandwidth is available, configure switching elements (SEs) to direct said data burst input port to said channel(s) within said data burst output port(s); forward said control packet to the control packet output port(s); direct the subsequently incident corresponding data burst on said channels within said data burst input port via the switching elements to said channels within said data burst output port(s); and then forward the data burst to the output(s). The time required to process a control packet on an incoming communication link and forward it to the outgoing communication link(s) has a significant impact on the overall performance of the burst or packet switched network.

[0005] To aid in our discussion, we will make the following definitions:

[0006] Control Signal Propagation Time (p): The elapsed time from when a control signal to change an SE's state is sent to an SE until the time the control signal is received by the SE.

[0007] Switching time (s): The elapsed time from when a control signal to change an SE's state is received by the SE, until the time at which the SE has reached the new state (new connection) which is stable/usable. Any timing jitters or duration uncertainties which might exist in the switching process is included within this Switching time s.

BRIEF DESCRIPTION OF PRIOR ART

[0008]FIG. 1 (a), through (d), illustrate a typical Burst Switched network communication path which has been arbitrarily chosen to have three hop bursts, (i.e., number of Hops (H)=3). For simplicity, it is also assumed that the maximum processing time of a control packet at each node, which includes the time to generate a control signal for the switch at the node is Δ and schedule its transmission is Δ. Using conventional control methods, fast switches with switching cycle times of C=C_(f) are needed in order to achieve a high switching efficiency. In FIG. 1(a), a control packet is sent on a control channel (e.g., a wavelength) followed by a burst of length L on a separate data channel after an offset time T. In FIG. 1(b), the control packet after reaching Node 1, is processed in time Δ and retransmitted to Node 2 so that the offset between the control packet and the data burst is reduced to T−Δ. The Node 2 processor (which includes a switch controller) learns from the control packet when the burst will arrive and delays sending a switch control signal until there is only just enough time (equal to C) left for the switch to receive the control signal and configure itself before the leading edge of the burst reaches the switch. Such a delay in sending the control signal is to allow this delay period bandwidth to be used by one or more preceding bursts which have either already arrived, or are expected to arrive and finish passing through the switch before the switch must transit to a new state to serve the incoming burst. In FIG. 1(c), the time delay between the control packet and the burst is reduced to T−2Δ. In FIG. 1(d), the time delay between the control packet and the burst is T−3Δ which must still be greater than C. At the destination node, the burst is directed to a local link. In general, for a pathway traversing H hops, the time delay between the control packet and the burst, T, must be no less than C_(f)+HΔ.

[0009] In prior art, control packets are processed either sequentially or concurrently but with a low degree of parallelism, consequently, the processing time (Δ) can be large, limiting the node's (and network's) throughput. Additionally, a control packet is sent to a downstream node only after the upstream node finishes bandwidth reservation (and the generation, and then scheduling of the transmission of the control signal for the switch) at the upstream node. This results in a long pre-transmission (and end-to-end) delay of the corresponding burst.

[0010] It is, therefore, an object of the invention to speed up the processing of control packets in all out-of-band control packet based Burst Switching architectures such as Optical Burst Switching (OBS) or Labeled Optical Burst Switching (LOBS) or other packet or burst switched networks in order to increase the throughput. It is a farther object of the invention to reduce the minimum offset time (and pre-transmission delay of each burst) for OBS or LOBS or other packet or burst switched networks. It is also an object of this invention to extend this invention to all Signal Channel (“Channel”) data transport schemes, containing one or more Channels, and of which WDM is an example.

SUMMARY OF INVENTION

[0011] The above and related objects are achieved by providing unique methods for processing control packets that improve the operating performance of Optical Burst Switched, Labeled Optical Burst Switched, and other burst or packet switched networks.

DESCRIPTION OF DRAWINGS

[0012]FIG. 1 (a)-(d) depicts a three-hop burst communication example.

[0013]FIG. 2 depicts the control packet processing steps.

[0014]FIG. 3 depicts a pipeline with 6 stages when S2 is assumed to be large.

[0015]FIG. 4 depicts pipelining stage 2 in FIG. 3.

[0016]FIG. 5 depicts batch processing of control packets.

DETAILED DESCRIPTION OF INVENTION

[0017] In transmissions over an OBS or LOBS or other packet or burst switching network, a control packet is transmitted first, followed by a data burst, corresponding to said control packet, which is sent after an (initial) offset time T. (The value of T, which is carried by the control packet, will be discussed below). Each control packet will be time-stamped when it arrives at an intermediate node, but may or may not be processed by the node immediately. The control packet, in addition to the offset time, also includes other information such as addressing information (e.g., a label) and possibly the Channel (wavelength) to be used by the burst to reach the next hop. As described earlier, the offset time will be adjusted down after the control packet is processed at each hop. From processing the control packet, an intermediate node decides the appropriate output for the control packet and the corresponding burst, determines if bandwidth is available at the output when the burst arrives, and if so, generates the appropriate control signals used to set/configure the Switching elements so the following burst will be switched to an appropriate output port.

[0018] The appropriate output Channel to be used by the burst (subject to bandwidth availability to be described later) is dependent on the input Channel (wavelength) used by the data burst and whether the node can convert that wavelength to a different wavelength at the output port at the node. Without the Channel (wavelength) conversion capability, the output Channel has to be the same; otherwise, it can be any Channel (wavelength) that the input one can be converted to.

[0019] Specifically, the following operations are performed on each control packet at an intermediate node, which for simplicity, is assumed to be bufferless but has full Channel (wavelength) conversion capabilities:

[0020] 1) Given the input port at which the control packet arrived and the control information (e.g., a label) carried by the control packet, determine the output port(s) for the control packet (and the corresponding burst) as well as the new control information (e.g. a new label) to be carried by the control packet (by looking up a label switching table at the node);

[0021] 2) Determine if bandwidth during a certain period (as to be specified later) at the output(s) can be reserved successfully and (a) if successful, blocks other control packets from reserving the bandwidth during that period; (b) if unsuccessful, perform one or more operations such as burst dropping and or deflection routing, on the control packet (and the incoming burst) to resolve contention.

[0022] 3) Reserve the bandwidth (by completing book-keeping tasks required to maintain the data structure used to represent the bandwidth availability/usage information), and

[0023] 4) Determine how to set/configure the SEs (and the switch in general), including Channel (wavelength) converters—specifically, what the control signals that should be generated and sent should be for the SE/switch so that the burst will be switched to the output(s) Channel(s),

[0024] 5) Generate those switching element control signals and

[0025] 6) Schedule the transmission of those switching element control signals (either immediately or at a later time).

[0026] If the switch has limited FDLs (consisting of an array of FDLs arranged in parallel, feed-forward or feed-backward/re-circulating fashion), whether an incoming burst can use the FDL or not when there is NO bandwidth available on the output Channel during the desired period is also determined during step 2(b), with the actual reservation of the FDL capacity done in step 3, and the generation and scheduling of the control signals to be sent to the FDL array controller done thereafter in steps 4 through 6.

[0027] Let Δ be the (maximum) time to complete the above six steps. Using existing approaches known in the art for OBS/LOBS, the control packet is relayed to the next hop after Δ units (i.e. after finishing the control operations described above). Hence, if the path for the control packet/burst to take has H hops, and the maximum time to finish the above steps at each intermediate node is Δ, the minimum offset time T needed is H×Δ+s, where s is the switching time.

[0028] The invention provides a novel method to reduce the minimum offset time (and pre-transmission delay) for each burst in OBS or LOBS or other packet or burst switched systems. Under this method, the control packet is relayed as soon as step 2 is completed, greatly speeding up the setup/configuration of the Switching Element. Let the maximum time taken to finish steps 1 and 2 at each hop be δ, where δ<Δ. By using this novel method, the minimum total offset time can be reduced to (H*δ+Δ−δ+s), or (H−1)*δ+Δ+s. The total time saving is thus (H−1)(Δ−δ). Note that the method is applicable even in cases in which the processing time differs at different hops.

[0029] The main advantage of this method is that it is able to reduce the minimum offset time (or pre-transmission delay of each burst), and hence the end-to-end delay of each burst. It is especially useful for switches made of multi-stage of SEs and/or having FDLs and wavelength converters as steps 3 and 4 may take a significant amount of time.

[0030] The step of determining if the bandwidth at the output can be reserved successfully (Step 2 above) can be further optimized by the following novel method, which speeds up the processing of control packets and in so doing, increases the throughput. The time each node spends on processing each control packet is important as it affects the throughput/utilization of control Channels and consequently that of the data Channels as well.

[0031] To improve the throughput of control packets in LOBS networks, each input port will be equipped with a label processor which performs step 1 above, and directs the control packet for further processing to a processor (or set of processors)—called bandwidth managers or BM—dedicated to the desired output port (see FIG. 4) which will perform steps 2 and 3. A separate switch control unit will be used to perform steps 4, 5 and 6. This is similar to what has been proposed for OBS networks [JSAC 2000], where a three-stage pipeline has been proposed. It was concluded that the (maximum) throughput (in terms of number of bursts per second) is the minimum of 1/d1, 1/d2 and 1/d3, where d1, d2 and d3 are the time needed to complete step 1, steps 2 and 3, and steps 4 through 6, respectively.

[0032] In a LOBS network, d1 is expected to be (relatively) small, especially when step 1 (label matching) is implemented in hardware (e.g., some ASICs using associated memory technology). Further, step 1 is not a strictly sequential operation in that more than one matching can be performed simultaneously as long as sufficient amount of matching hardware is present. Meanwhile, d2 and d3 are expected to be large especially in WDM networks, and hence may dominate the throughout (i.e., become the bottleneck). In particular, step 2 is critical as the operation to determine bandwidth availability (as well as allocate bandwidth to bursts) is largely a sequential one (for which control packets have to be processed one by one) in order to maintain a consistent view of the bandwidth availability. On the other hand, the time taken by steps 3 through 6 may not be critical as parallel processing techniques can be readily adopted (especially when the switch is strictly non-blocking).

[0033] The proposed scheme improves upon that in [JSAC 2000] by further separating the operations involved into steps 2 through 6, and using a deeper (6 stage) pipeline as illustrated in FIG. 5. More specifically, after a control packet clears stage i (1<=i<=6), the next control packet may be processed at/by that stage immediately. Let the time to finish each stage in the pipeline shown in FIG. 5 be s1, s2, . . . , s6, respectively, then the max throughput can be as high as the minimum of 1/s(i), for i=1, 2, . . . , 6. In fact, based on the previous discussion, the max throughout is going be limited only by 1/s2 if parallel processing techniques are used in all other steps.

[0034] For WDM networks where nodes have Channel (wavelength) conversion capability, the invention provides the following techniques to further increase throughput by reducing the time taken for the critical step (i.e step 2).

[0035] To facilitate discussion, we assume, for the time being, that: 1) there is only one outgoing fiber with W Channels (wavelengths) per output port, and 2) when searching for bandwidth, the Channels (wavelengths) will be searched in the order of increasing index, i.e, starting at Channel (wavelength) 1, then Channel (wavelength) 2 and so on.

[0036] When W is large, the time to hunt for bandwidth (or in other words, step 2 above) using existing methods (including the method with the above disclosed improvement but without the techniques to be described below) may be so long that it becomes the bottleneck in the pipeline. This is mostly likely when a control packet is considered to have cleared stage 2 only if: 1) all W Channels have been searched and no bandwidth is found (in such a case, the control packet may be dropped if the burst cannot be delayed when it arrives, e.g. by FDLs), or 2) bandwidth is found on one of the Channels. Note that even when 2) is the case, the next control packet may NOT enter stage 2 of the pipeline in some implementations as additional hardware and control complexities are needed to allow dynamic adjustments of the pipeline control. Even though such dynamic adjustments are made from time to time, the average amount of time taken by stage 2 is about ½ of S2.

[0037] Under the novel method of the invention, each Channel (wavelength) is associated with a dedicated bandwidth manager (BM), which manages the corresponding Channel (wavelength) only. When a control packet finishes stage 1 processing, it is handed over to BM1, and if no bandwidth is found by BM1 (on Channel 1), the control packet is handed over to BM2, and so on. As soon as a BM finishes processing of the control packet, it may process the next control packet (note that it does not matter to the next control whether/when the BM found bandwidth for the current control packet). This is illustrated in FIG. 6.

[0038] In essence, this novel method divides stage 2 of the pipeline shown in FIG. 6 into W sub-stages, one for each Channel, and can thus process the control packets at the rate of one per s2/W units, achieving a W fold speedup (as far as stage 2 is concerned). This is important because as discussed previously, it means that the maximum throughput can be as high as W/S2. This novel method can be easily extended to a different “search” order, e.g., from Channel W to Channel 1, or any (pre-determined) order (and clearly fits the case where the node has no Channel conversion capability). Also, the method can be applied when there is more than one fiber (e.g., F) by simply numbering the Channels from 1 to FW.

[0039] The method disclosed above may be extended to processing a batch of C control packets where C<=the total number of Channels (FW), simultaneously as follows. Control packet 1 will be processed sequentially by BM1, BM2, up to BM(FW), until either BM(i) finds bandwidth for it or BM(FM) finishes processing (regardless of whether bandwidth is found by BM(FM) or not). Similarly, control packet 2 will be processed by BM2, BM3, . . . BM(FW) and up to BM1, and control packet C will be processed by BM(c), . . . , BM(FW), BM1, . . . up to BM(c−1). Compared to pipelined processing, where the time to finish processing C control packets is S2+(C −1) S2/FW, the extended batch-processing method only needs S2 units, as illustrated in FIG. 7.

[0040] When the number of bandwidth managers are (or should be) limited to M<FW, the method proposed above can be further modified as follows: Instead of dedicating a BM to each Channel, a BM will be responsible for all Channels but will work on a Channel during a different time slot than other BMs. Specifically, when the first control packet arrives (assuming this is the beginning of a time slot 1), it will be handled by BM1, which exams Channel 1 during time slot 1, Channel 2 during time slot 2 and so on. If another control packet arrives during time slot i, and BMj is idle at the moment, then BMj will handle it by examining Channel c=[(i+j −2) module FW]+1 during that slot, and Channel [(i+j−1) module N]+1 next and so on.

[0041] As long as the number of control packets that arrive close to each other (i.e., the last one arrives before the processing of the first one completes) is no greater than M, the throughput can still be as high as if there are FW BMs, one for each Channel.

[0042] Although the present invention and its advantages have been described in the foregoing detailed description and illustrated in the accompanying drawings, it will be understood by those skilled in the art that the invention is not limited to the embodiment(s) disclosed but is capable of numerous rearrangements, substitutions and modifications without departing from the spirit and scope of the invention as defined by the appended claims. 

What we claim are:
 1. A method for the control of burst switched networks and network devices, wherein any path along which a given control packet and a corresponding data burst traverses is composed of at least one initial node, zero or more intermediate nodes, and at least one final node, comprising the steps of: a) assembling the data burst and buffering it electronically at said initial node, and generating a control packet with an appropriately set offset time value; b) receiving said control packet at a control packet input port of a network node and processing the control packet to determine a control packet output port(s), and a data burst input port and a data burst output port(s) for the control packet and the corresponding data burst corresponding to said control packet; c) determining if bandwidth for the data burst at the data burst output port(s) can be reserved successfully and if so, blocking other control packets from reserving the bandwidth, and immediately proceeding to step e), d) if bandwidth at the determined data burst output port(s) can not be reserved, performing bandwidth contention management and repeating step b); and e) relaying the control packet as soon as step c) is completed.
 2. The method of claim 1, further comprising the steps of: transmitting a control packet at a initial node to one or more intermediate nodes or one or more final nodes; and transmitting the corresponding burst to the same intermediate nodes or final nodes after a pre-determined delay time.
 3. The method of claim 1, further comprising the steps of: receiving a control packet on an input port at an intermediate node; determining at said intermediate node the output port(s) for the control packet and the corresponding burst, as well as any new control information to be carried by the control packet; determining if bandwidth at the determined output(s) at said intermediate node can be reserved successfully for the corresponding burst and if so, blocking other control packets from reserving the bandwidth and proceeding to the next step, and if said bandwidth can not be reserved, performing bandwidth contention management; relaying the control packet to the next node(s), reserving the bandwidth and determining how to configure the switching elements at the intermediate node; generating control signals for the switching element at the intermediate node to switch the burst to the determined output channel on the determined output port(s); scheduling the transmission of said control signals; and transmitting said control signals to the switching elements at the intermediate node so as to direct the corresponding burst to the reserved output(s) to the next node.
 4. The method of claim 1, further comprising the steps of: receiving a control packet on an input port at the final node; and receiving the corresponding burst on an input port at the final node
 5. The method of claim 3, wherein said step of determining at said intermediate node the output port(s) for the control packet and the corresponding burst, as well as any new control information to be carried by the control packet is performed by looking up a label switching table at said intermediate node.
 6. The method of claim 3, wherein each input port is equipped with a control packet processor which performs said step of determining at said intermediate node at least one output port for the control packet and the corresponding burst, as well as any new control information to be carried by the control packet, said control packet processor also directing the control packet for further processing to a bandwidth manager processor, said bandwidth manager processor being dedicated to the desired output port.
 7. The method of claim 6, wherein each channel is associated with a dedicated bandwidth manager, wherein each of said bandwidth manager manages its dedicated channel only, further comprising the steps of: when a control packet finishes first stage processing, it is handed over to the first bandwidth manager, and if no bandwidth is found by said first bandwidth manager on its dedicated channel, the control packet is handed over to a next bandwidth manager, repeating until available bandwidth is found; wherein as soon as a bandwidth manager finishes processing of the control packet, it immediately process the next control packet.
 8. The method of claim 6, further comprising: a plurality of bandwidth managers simultaneously batch processing a plurality of control packets, said plurality of packets numbering less than or equal to the total number of channels at each port, each channel at said each port having a bandwidth manager, wherein at any given time each of said plurality of bandwidth managers will process one control packet, and upon finishing processing each of said plurality of bandwidth managers sequentially passes its control packet to another bandwidth manager to process.
 9. The method of claim 1, further comprising: using a plurality of bandwidth managers such that each of said plurality of bandwidth manager will be responsible for all channels and each will work on a channel during a different time slot than all other said plurality of bandwidth managers. 